Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Propriétés ACID</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Propri%C3%A9t%C3%A9s_ACID"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Propriétés_ACID rootpage-Propriétés_ACID skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Propriétés ACID</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr">
<p>En <a href="Informatique" title="Informatique">informatique</a>, les <b>propriétés ACID</b> (<a href="Atomicit%C3%A9_(informatique)" title="Atomicité (informatique)">atomicité</a>, <a href="Coh%C3%A9rence_(donn%C3%A9es)" title="Cohérence (données)">cohérence</a>, <a href="Isolation_(informatique)" title="Isolation (informatique)">isolation</a> et <a href="Durabilit%C3%A9_(informatique)" title="Durabilité (informatique)">durabilité</a>) sont un ensemble de propriétés qui garantissent qu'une <a href="Transaction_informatique" title="Transaction informatique">transaction informatique</a> est exécutée de façon fiable.
</p><p>Dans le domaine des <a href="Bases_de_donn%C3%A9es" class="mw-redirect" title="Bases de données">bases de données</a>, une opération sur les données est appelée une transaction ou transaction informatique. Par exemple, un transfert de fonds d'un compte de banque à un autre, même s'il implique plusieurs actions comme le débit d'un compte et le <a href="Cr%C3%A9dit" title="Crédit">crédit</a> d'un autre, est une seule transaction.
</p><p><a href="James_Gray_(informaticien)" title="James Gray (informaticien)">Jim Gray</a> a défini les propriétés qui garantissent des transactions fiables à la fin des années 1970 et a développé des technologies pour les mettre en œuvre automatiquement<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>.
</p><p>En 1983, Andreas Reuter et Theo Härder ont créé l'<a href="Acronyme" class="mw-redirect" title="Acronyme">acronyme</a> <i>ACID</i> pour désigner ces propriétés<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p><p>Il faut noter qu'il existe des modèles de bases de données qui s'écartent des propriétés ACID, pour répondre à d'autres priorités comme la gestion de <a href="Big_Data" class="mw-redirect" title="Big Data">données massives</a> et distribuées pour les usages du <a href="Big_Data" class="mw-redirect" title="Big Data">Big Data</a> notamment par les géants d'<a href="Internet" title="Internet">Internet</a>&nbsp;: ce sont les bases <a href="NoSQL" title="NoSQL">NoSQL</a>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Propriétés"><span id="Propri.C3.A9t.C3.A9s"></span>Propriétés</h2></div>
<p>Les caractéristiques de ces quatre propriétés telles que définies par Reuter et Härder sont les suivantes&nbsp;:
</p>
<div class="mw-heading mw-heading3"><h3 id="Atomicité"><span id="Atomicit.C3.A9"></span>Atomicité</h3></div>

<p>Les transactions sont souvent composées de plusieurs instructions. L'<a href="Atomicit%C3%A9_(informatique)" title="Atomicité (informatique)">atomicité</a> garantit que chaque transaction est traitée comme une seule "unité", qui réussit complètement ou échoue complètement&nbsp;: si l'une des déclarations constituant une transaction échoue, la transaction entière échoue et la base de données reste inchangée. Un système atomique doit garantir l'atomicité dans toutes les situations, y compris les pannes de courant, les erreurs et les crashs<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>. Une garantie d'atomicité empêche que les mises à jour de la base de données ne se produisent que partiellement, ce qui peut causer des problèmes plus importants que le rejet pur et simple de toute la série. En conséquence, la transaction ne peut pas être observée comme étant en cours par un autre client de la base de données. À un moment donné, elle n'a pas encore eu lieu, et au moment suivant, elle s'est déjà produite en totalité (ou rien ne s'est produit si la transaction a été annulée en cours).
</p>
<div class="mw-heading mw-heading3"><h3 id="Cohérence"><span id="Coh.C3.A9rence"></span>Cohérence</h3></div>

<p>La cohérence garantit qu'une transaction ne peut faire passer la base de données que d'un état cohérent à un autre, en préservant les invariants de la base de données&nbsp;: toute donnée écrite dans la base de données doit être valide selon toutes les règles définies, y compris les <a href="Contrainte_d'int%C3%A9grit%C3%A9" title="Contrainte d'intégrité">contraintes</a>, les <a href="Rollback_(base_de_donn%C3%A9es)" title="Rollback (base de données)">rollbacks</a>, les <a href="D%C3%A9clencheurs" class="mw-redirect" title="Déclencheurs">déclencheurs</a> et toute combinaison de ceux-ci. Cela empêche la corruption de la base de données par une transaction illégale. L'intégrité référentielle garantit la relation clé primaire-clé étrangère<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Isolation">Isolation</h3></div>

<p>Les transactions sont souvent exécutées simultanément (par exemple, plusieurs transactions lisant et écrivant dans une table en même temps). L'isolation garantit que l'exécution simultanée des transactions laisse la base de données dans le même état que celui qui aurait été obtenu si les transactions avaient été exécutées séquentiellement. L'isolation est le principal objectif du contrôle de la concurrence&nbsp;; selon le niveau d'isolation utilisé, les effets d'une transaction incomplète peuvent ne pas être visibles pour les autres transactions<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Durabilité"><span id="Durabilit.C3.A9"></span>Durabilité</h3></div>

<p>La <a href="Durabilit%C3%A9_(informatique)" title="Durabilité (informatique)">durabilité</a> garantit qu'une fois qu'une transaction a été validée, elle le restera même en cas de défaillance du système (par exemple, une panne de courant ou un <a href="Plantage" title="Plantage">crash</a>). Cela signifie généralement que les transactions terminées (ou leurs effets) sont enregistrées dans une <a href="M%C3%A9moire_non_volatile" title="Mémoire non volatile">mémoire non volatile</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Illustration_des_propriétés"><span id="Illustration_des_propri.C3.A9t.C3.A9s"></span>Illustration des propriétés</h2></div>
<p>Les sections suivantes expliquent les propriétés ACID en décrivant un exemple d'échec inacceptable pour chacune des propriétés.
</p><p>Dans ces exemples, une base de données contient deux champs A et B dans deux enregistrements. Une contrainte d'intégrité stipule que la somme de A et B doit toujours être 100. L'énoncé SQL suivant décrit cette contrainte&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">acidtest</span><span class="w"> </span><span class="p">(</span><span class="n">A</span><span class="w"> </span><span class="nb">INTEGER</span><span class="p">,</span><span class="w"> </span><span class="n">B</span><span class="w"> </span><span class="nb">INTEGER</span><span class="w"> </span><span class="k">CHECK</span><span class="w"> </span><span class="p">(</span><span class="n">A</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">B</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">100</span><span class="p">));</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Échec_d'atomicité"><span id=".C3.89chec_d.27atomicit.C3.A9"></span>Échec d'atomicité</h3></div>
<p>Supposons qu'une transaction tente de soustraire 10 à A et d'ajouter 10 à B. C'est une transaction valide étant donné que la somme de A et B est 100 après la transaction. Si, après avoir soustrait 10 à A, la transaction est interrompue par un problème quelconque sans pouvoir ajouter 10 à B, alors la propriété d'atomicité serait violée si la base de données restait dans cet état. Pour que la propriété d'atomicité soit respectée, il faut que la transaction se complète ou qu'elle ne se fasse pas du tout. Dans le cas présent, il faut que A soit remis dans son état initial pour que l'atomicité soit respectée.
</p>
<div class="mw-heading mw-heading3"><h3 id="Échec_de_cohérence"><span id=".C3.89chec_de_coh.C3.A9rence"></span>Échec de cohérence</h3></div>
<p>La cohérence est le respect de toutes les règles spécifiées dans les <a href="Contraintes_d'int%C3%A9grit%C3%A9" class="mw-redirect" title="Contraintes d'intégrité">contraintes d'intégrité</a>. Dans notre exemple, la seule règle est que la somme de A et B doit être 100. Il pourrait y avoir d'autres règles, par exemple, une règle pourrait spécifier que la valeur de A doit être plus grande que 5.
</p><p>Supposons qu'une transaction T1 tente de soustraire 10 de A sans modifier B. Comme la cohérence a été vérifiée après la transaction qui a précédé la transaction T1, nous savons que la somme de A et B est égale à 100 avant la transaction T1. Si la transaction T1 s'exécute jusqu'au bout, elle retranchera 10 de A et l'atomicité sera respectée. Par contre, une validation de cohérence montrera que la somme de A et B est égale à 90 et non à 100. Comme la cohérence n'est pas respectée, la transaction sera annulée et la valeur de A sera augmentée de 10 pour reprendre la valeur qu'elle avait avant la transaction T1.
</p>
<div class="mw-heading mw-heading3"><h3 id="Échec_d'isolation"><span id=".C3.89chec_d.27isolation"></span>Échec d'isolation</h3></div>
<p>Supposons les deux transactions suivantes&nbsp;: T1 transfère 10 de A à B, T2 transfère 5 de B à A. Si les transactions s'exécutent en séquence, nous avons les actions suivantes&nbsp;:
</p>
<ul><li>première partie de la transaction T1&nbsp;: A est réduit de 10&nbsp;;</li>
<li>seconde partie de la transaction T1&nbsp;: B est augmenté de 10&nbsp;;</li>
<li>première partie de la transaction T2&nbsp;: B est réduit de 5&nbsp;;</li>
<li>seconde partie de la transaction T2&nbsp;: A est augmenté de 5.</li></ul>
<p>Si les quatre opérations sont exécutées dans l'ordre ci-dessus, l'isolation est assurée. Si la transaction T1 est interrompue après sa première action, le système effacera l'effet partiel de T1 avant le début de T2 et T2 s'exécutera sur des données valides.
</p><p>Par contre, si les transactions tentent de s'exécuter simultanément et que la transaction T2 commence avant la fin de T1, on peut obtenir la suite d'actions suivante&nbsp;:
</p>
<ul><li>première partie de la transaction T1&nbsp;: A est réduit de 10&nbsp;;</li>
<li>première partie de la transaction T2&nbsp;: B est réduit de 5&nbsp;;</li>
<li>seconde partie de la transaction T2&nbsp;: A est augmenté de 5&nbsp;;</li>
<li>seconde partie de la transaction T1&nbsp;: B est augmenté de 10.</li></ul>
<p>Si la transaction T1 est interrompue avant sa deuxième partie, mais après la complétion de la transaction T2, le rétablissement de A à sa valeur d'avant la transaction T1 annulera l'augmentation valide de A faite par la transaction T2 et laissera la base de données dans un état corrompu parce que A sera revenu à sa valeur initiale, mais B aura été réduit de 5. Ce serait un échec d'isolation. La propriété d'isolation n'interdit pas la séquence d'actions précédente. Par contre, le système doit être muni de contrôles et de <a href="Rollback_(base_de_donn%C3%A9es)" title="Rollback (base de données)">rollbacks</a> qui assurent que, dans tous les cas, le résultat de l'exécution simultanée des transactions donne le même résultat que leur exécution en séquence.
</p>
<div class="mw-heading mw-heading3"><h3 id="Échec_de_durabilité"><span id=".C3.89chec_de_durabilit.C3.A9"></span>Échec de <a href="Durabilit%C3%A9_(informatique)" title="Durabilité (informatique)">durabilité</a></h3></div>
<p>Supposons qu'une transaction transfère 10 de A à B. Supposons qu'une confirmation de la transaction est envoyée à l'utilisateur après l'instruction d'écriture sur disque des nouvelles valeurs de A et B, mais avant que le contenu du tampon du disque soit transféré au disque. Supposons aussi qu'une panne d'électricité se produise entre la confirmation et le transfert du tampon au disque et supposons aussi que le système n'a aucune façon de recréer les valeurs de A et B. Nous avons alors un échec de durabilité parce que l'utilisateur a reçu une confirmation, mais que l'effet de la transaction est perdu.
</p>
<div class="mw-heading mw-heading2"><h2 id="Références"><span id="R.C3.A9f.C3.A9rences"></span>Références</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <span class="noarchive">«&nbsp;<a rel="nofollow" class="external text" href="https://web.archive.org/web/20090206084720/http://www.microsoft.com/presspass/features/1998/11-23gray.mspx">Gray to be Honored With A. M. Turing Award This Spring</a>&nbsp;»</span>, Microsoft PressPass, <time class="nowrap" datetime="1998-11-23" data-sort-value="1998-11-23">23 novembre 1998</time> <small>(version du <time class="nowrap" datetime="2009-02-06" data-sort-value="2009-02-06">6 février 2009</time> sur <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>)</small></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><span class="ouvrage" id="HärderReuter1983"><span class="ouvrage" id="Theo_HärderAndreas_Reuter1983"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Theo <span class="nom_auteur">Härder</span> et Andreas <span class="nom_auteur">Reuter</span>, «&nbsp;<cite style="font-style:normal" lang="en">Principles of Transaction-Oriented Database Recovery</cite>&nbsp;», <i><span class="lang-en" lang="en"><a href="ACM_Computing_Surveys" title="ACM Computing Surveys">ACM Computing Surveys</a></span></i>, <abbr class="abbr" title="volume">vol.</abbr>&nbsp;15, <abbr class="abbr" title="numéro">n<sup>o</sup></abbr>&nbsp;4,‎ <time class="nowrap" datetime="1983-12" data-sort-value="1983-12">décembre 1983</time>, <abbr class="abbr" title="pages">p.</abbr>&nbsp;<span class="nowrap">287–317</span> <small style="line-height:1em;">(<a href="Digital_Object_Identifier" title="Digital Object Identifier">DOI</a>&nbsp;<span class=" noarchive nowrap"><a rel="nofollow" class="external text" href="https://dx.doi.org/10.1145/289.291">10.1145/289.291</a></span>, <a rel="nofollow" class="external text" href="http://portal.acm.org/ft_gateway.cfm?id=291&amp;type=pdf&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=18545439&amp;CFTOKEN=99113095">lire en ligne</a> <abbr class="abbr indicateur-format format-pdf" title="Document au format Portable Document Format (PDF) d'Adobe">[PDF]</abbr>, consulté le <time class="nowrap" datetime="2009-01-16" data-sort-value="2009-01-16">16 janvier 2009</time>)</small><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.atitle=Principles+of+Transaction-Oriented+Database+Recovery&amp;rft.jtitle=ACM+Computing+Surveys&amp;rft.issue=4&amp;rft.aulast=H%C3%A4rder&amp;rft.aufirst=Theo&amp;rft.au=Reuter%2C+Andreas&amp;rft.date=1983-12&amp;rft.volume=15&amp;rft.pages=287%E2%80%93317&amp;rft_id=info%3Adoi%2F10.1145%2F289.291&amp;rft_id=http%3A%2F%2Fportal.acm.org%2Fft_gateway.cfm%3Fid%3D291%26type%3Dpdf%26coll%3DGUIDE%26dl%3DGUIDE%26CFID%3D18545439%26CFTOKEN%3D99113095&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APropri%C3%A9t%C3%A9s+ACID"></span></span></span>&nbsp;:<blockquote><p>«&nbsp;<span class="lang-en" lang="en">These four properties, atomicity, consistency, isolation, and durability (ACID), describe the major highlights of the transaction paradigm, which has influenced many aspects of development in database systems.</span>&nbsp;»</p></blockquote></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Beal2003"><span class="ouvrage" id="Vangie_Beal2003"><abbr class="abbr indicateur-langue" title="Langue : anglais américain">(en-US)</abbr> Vangie <span class="nom_auteur">Beal</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://www.webopedia.com/definitions/atomic-operation/"><cite style="font-style:normal;" lang="en-us">What is Atomic Operation?</cite></a>&nbsp;», sur <span class="italique">Webopedia</span>, <time class="nowrap" datetime="2003-11-25" data-sort-value="2003-11-25">25 novembre 2003</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-01-23" data-sort-value="2023-01-23">23 janvier 2023</time>)</small></span></span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Date2011,_2012"><span class="ouvrage" id="C._J._Date2011,_2012"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> C. J. <span class="nom_auteur">Date</span>, <cite class="italique" lang="en">SQL and relational theory&nbsp;: how to write accurate SQL code</cite>, Sebastopol, CA, <a href="O'Reilly_Media" title="O'Reilly Media">O'Reilly</a>, <abbr class="abbr" title="collection">coll.</abbr>&nbsp;«&nbsp;Theory in practice&nbsp;», 2011, 2012, <abbr class="abbr" title="deuxième">2<sup>e</sup></abbr>&nbsp;<abbr class="abbr" title="édition">éd.</abbr> <small style="line-height:1em;">(<a href="International_Standard_Book_Number" title="International Standard Book Number">ISBN</a>&nbsp;<span class="nowrap">978-1-449-31975-5</span>, <span class="nowrap">978-1-449-31974-8</span> et <span class="nowrap">978-1-449-31640-2</span>, <a href="Online_Computer_Library_Center" title="Online Computer Library Center">OCLC</a>&nbsp;<span class=" noarchive nowrap"><a rel="nofollow" class="external text" href="https://worldcat.org/fr/title/780680538">780680538</a></span>, <a rel="nofollow" class="external text" href="https://books.google.fr/books?id=Ew06OZtjuJEC&amp;printsec=frontcover&amp;hl=fr&amp;source=gbs_ViewAPI&amp;redir_esc=y#v=onepage&amp;q&amp;f=false">lire en ligne</a>)</small>, <abbr class="abbr" title="page">p.</abbr>&nbsp;180<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=SQL+and+relational+theory+%3A+how+to+write+accurate+SQL+code&amp;rft.place=Sebastopol%2C+CA&amp;rft.pub=O%27Reilly&amp;rft.edition=2&amp;rft.aulast=Date&amp;rft.aufirst=C.+J.&amp;rft.date=2012&amp;rft.pages=180&amp;rft.isbn=978-1-449-31975-5&amp;rft_id=info%3Aoclcnum%2F780680538&amp;rft_id=https%3A%2F%2Fbooks.google.fr%2Fbooks%3Fid%3DEw06OZtjuJEC%26printsec%3Dfrontcover%26hl%3Dfr%26source%3Dgbs_ViewAPI%26redir_esc%3Dy%23v%3Donepage%26q%26f%3Dfalse&amp;rfr_id=info%3Asid%2Ffr.wikipedia.org%3APropri%C3%A9t%C3%A9s+ACID"></span></span></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Archiveddocs"><abbr class="abbr indicateur-langue" title="Langue : anglais américain">(en-US)</abbr> <span class="nom_auteur">Archiveddocs</span>, «&nbsp;<a rel="nofollow" class="external text" href="https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms189122(v=sql.105)"><cite style="font-style:normal;" lang="en-us">Isolation Levels in the Database Engine</cite></a>&nbsp;», sur <span class="italique">learn.microsoft.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-01-23" data-sort-value="2023-01-23">23 janvier 2023</time>)</small></span></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="Source">Source</h2></div>
<ul><li><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé <span class="">«&nbsp;<a class="external text" href="https://en.wikipedia.org/wiki/ACID?oldid=539642457">ACID</a>&nbsp;» <small>(<a class="external text" href="https://en.wikipedia.org/wiki/ACID?action=history">voir la liste des auteurs</a>)</small></span>.</li></ul>
<div class="navbox-container" style="clear:both;">

</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des bases de données</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-09-12" href="https://fr.wikipedia.org/wiki/?title=Propri%C3%A9t%C3%A9s_ACID&amp;oldid=228921687">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>